package com.apps.java.javanote;

public class _2运算符 {
    public static void main(String[] args) {
        /**
         * 一、算术运算符
         * 		+：加		-：减		*：乘		/：除		%：余
         * 	运算符和表达式
         * 		运算符：对常量或者变量进行操作的符号
         * 		表达式：用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
         * 				不同运算符连接的表达式提现的是不同类型的表达式
         * 				例：+：是运算符    a+b：是表达式（算术表达式）
         *
         * 		注意事项：  1./和%的区别：两个数据做除法，/取结果的余数。
         * 				2.整数操作只能得到整数，想要得到小数，必须优浮点数参与运算。
         * 				3.算术表达式中包含多个基本数据类型的值时，整个算术表达式的类型会自动提升
         * 					.byte、short、char类型会自动提升到int类型
         * 					.整个表达式的类型自动提升到表达式中最高登记操作数同样的类型
         * 					   等级顺序：byte、short、char > int > long > float > double
         *
         * 二、赋值运算符
         * 		=：赋值	+=：加后赋值	-=：减后赋值	*=：乘后赋值	/=：除后赋值	%=：取余后赋值
         * 		注意事项：扩展的赋值运算符底层隐含了强制类型转换
         *
         * 三、自增自减运算符
         * 		++：自增	--：自减
         * 		单独使用时：++和--放在前面和后面的效果一致[常见用法]
         * 			int i = 10;
         * 			i++;//结果为11
         * 		参与操作使用时：
         * 			int i = 10;
         * 			int k = i++;//k的结果为10，i的结果为11
         * 			int k = ++i;//k的结果为11，i的结果为11
         *
         * 四、关系运算符[结果都是布尔类型]
         * 		==：判断两个值是否相等，成立为true
         * 		!=：判断两个值是否不相等，成立为true
         * 		> ：判断第一个值是否大于第二个值，成立为true
         * 		>=：判断第一个值是否大于等于第二个值，成立为true
         * 		< ：判断第一个值是否小于第二个值，成立为true
         * 		<=：判断第一个值是否小于等于第二个值，成立为true
         * 		注意：不要将==写成=
         *
         * 五、逻辑运算符
         * 		用来连接关系表达式的运算符，也可以直接连接布尔类型的常量或变量
         * 		&：逻辑与>当两个值都是true，则结果为true
         * 		|：逻辑或>当两个值都是false，则结果为false
         * 	    ^：逻辑异或>两个值不同结果为true
         * 	    !：逻辑非>结果与值相反
         * 	短路逻辑运算符
         * 		作用与基本逻辑运算符相同，但有短路效果
         * 		&&：短路与		||：短路或
         * 		注意事项：
         * 			&：无论左右真假，右边都执行
         * 			&&：如果左边为真，右边执行；如果左边为假，右边不执行
         * 			|：无论左右真假，右边都执行
         * 			||：如果左边为假，右边执行；如果左边为真，右边不执行
         *
         * 六、三元运算符
         * 		格式：关系表达式?表达式1:表达式2; ---> a>b?a:b;
         * 		计算规则：
         * 			首先计算关系表达式的值
         * 			如果值为true，表达式1的值就是运算结果
         * 			如果值为false，表达式2的值就是运算结果
         *
         *
         *
         *
         *
         *
         *
         *
         *
         *
         */

			/*算术运算符：字符"+"操作
			//拿字符在计算机底层对应的数值来进行计算
				//定义两个变量
			 		int i = 10;
			 		char b = 'C';
			 		System.out.println(i+b);
			*/

			/*
			//赋值运算符
			  	//+=：把左边和右边的数据做加法操作，结果赋值给左边
			 		int i = 10;
			 		i += 50;
			 		System.out.println(i);
			 	//注意：扩展的赋值运算符底层隐含了强制类型转换
			 	 	short s =10;
			 	 	s += 20;//运行通过为30
			 	//	s = s+20;//运行报错（类型不兼容）
			 	 	s = (short)(s+20);
			 	 	System.out.println(s);
			*/

			/*
			//逻辑运算符
			 	int a = 10;
			 	int b = 20;
			 	int c = 30;
			 	System.out.println((a>b) & (b>c));
			 	System.out.println((a<b) & (b<c));

			 	//短路逻辑运算符
			 	System.out.println((a>b) && (b>c));
			 	System.out.println((a<b) && (b<c));
			 */

    }
}
